package org.custom.spring.boot.security.constant;

import java.time.Duration;
import java.time.temporal.ChronoUnit;

/**
 * spring-security 相关常量
 *
 * @author LiKun
 * @date 2021/11/9 16:21
 */
public class SecurityConstant {
    /**
     * 通配符 *
     */
    public static final String PATTERN_ANY = "*";

    /**
     * 存放token信息的头部key值
     */
    public static final String HEADER = "Authorize";

    /**
     * token信息标识(前缀)
     */
    public static final String TOKEN_LOGO = "Token ";

    /**
     * 匿名用户用户数据
     */
    public static final String ANONYMOUS = "Anonymous";

    /**
     * 存放在 Redis 中的用户自动登录数据的 Key 值前缀
     */
    public static final String AUTOMATIC_LOGIN = "Auto";

    /**
     * 存放在 Redis 中的 Token 凭证的 Key 前缀
     */
    public static final String TOKEN_KEY_ID = "TOKEN_ID";

    /**
     * 存放在 Redis 中的 Token 凭证的 Key 前缀
     */
    public static final String TOKEN_KEY_SNOW = "TOKEN_SNOW";

    /**
     * Token 存放在 Redis 中的存活时长
     */
    public static final Duration TOKEN_KEY_EXPIRE = Duration.of(3, ChronoUnit.HOURS);

    /**
     * Token 存放在 Redis 中的存活时长
     */
    public static final Duration AUTOMATIC_KEY_EXPIRE = Duration.of(3, ChronoUnit.DAYS);
}
